ASP.NET Web Forms এ Validation Controls ব্যবহার করা হয় ইউজারের ইনপুট ডেটা যাচাই করার জন্য, যাতে শুধুমাত্র বৈধ তথ্য গ্রহণ করা হয়। এগুলি ইউজারের ইনপুটের ভুলগুলো ধরতে সহায়তা করে এবং ব্যবহারকারীর কাছে সঠিক বার্তা প্রদর্শন করে। এগুলোর মাধ্যমে আপনি server-side validation (সার্ভারে পরীক্ষা করা) করতে পারেন, যা client-side validation এর তুলনায় আরো নিরাপদ।
ASP.NET Web Forms এ বিভিন্ন ধরনের Validation Controls রয়েছে, যেমন RequiredFieldValidator, RangeValidator, RegularExpressionValidator, CompareValidator, CustomValidator, এবং ValidationSummary।
RequiredFieldValidator কন্ট্রোলটি ইউজারের ইনপুট নিশ্চিত করে যে একটি নির্দিষ্ট ফিল্ডে কোনো মান প্রদান করা হয়েছে। এটি মূলত ফর্মের জন্য অত্যন্ত গুরুত্বপূর্ণ যেগুলোতে একটি নির্দিষ্ট ইনপুট ফিল্ড (যেমন নাম, ইমেইল বা পাসওয়ার্ড) ফাঁকা রাখা যেতে পারে না।
ব্যবহার:
<asp:TextBox ID="txtName" runat="server" />
<asp:RequiredFieldValidator
ID="rfvName"
runat="server"
ControlToValidate="txtName"
ErrorMessage="Name is required."
ForeColor="Red" />
এখানে, rfvName কন্ট্রোলটি txtName (TextBox) কন্ট্রোলটির জন্য ইনপুট যাচাই করবে এবং যদি ফিল্ড ফাঁকা থাকে তবে ErrorMessage প্রদর্শন করবে।
RangeValidator কন্ট্রোলটি একটি নির্দিষ্ট মানের পরিসরে ইনপুট যাচাই করে। এটি সাধারণত numerical data (যেমন বয়স, সংখ্যা) যাচাই করতে ব্যবহার করা হয়, যাতে তা নির্ধারিত পরিসরের বাইরে না যায়।
ব্যবহার:
<asp:TextBox ID="txtAge" runat="server" />
<asp:RangeValidator
ID="rvAge"
runat="server"
ControlToValidate="txtAge"
MinimumValue="18"
MaximumValue="99"
Type="Integer"
ErrorMessage="Age must be between 18 and 99."
ForeColor="Red" />
এখানে, rvAge কন্ট্রোলটি txtAge ইনপুট ফিল্ডের বয়স যাচাই করবে এবং তা 18 এবং 99 এর মধ্যে থাকতে হবে। অন্যথায়, ErrorMessage প্রদর্শন করবে।
RegularExpressionValidator কন্ট্রোলটি ইউজারের ইনপুট যাচাই করার জন্য regular expressions ব্যবহার করে। এটি বিশেষত ইমেইল, ফোন নম্বর, পাসওয়ার্ড ইত্যাদি ফরম্যাট যাচাই করতে ব্যবহৃত হয়।
ব্যবহার:
<asp:TextBox ID="txtEmail" runat="server" />
<asp:RegularExpressionValidator
ID="revEmail"
runat="server"
ControlToValidate="txtEmail"
ValidationExpression="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
ErrorMessage="Please enter a valid email address."
ForeColor="Red" />
এখানে, revEmail কন্ট্রোলটি txtEmail ইনপুটের জন্য একটি বৈধ ইমেইল ঠিকানা যাচাই করবে।
CompareValidator কন্ট্রোলটি দুটি ইনপুটের মান তুলনা করে, যেমন পাসওয়ার্ড এবং কনফার্ম পাসওয়ার্ড। এটি সাধারণত দুটি ইনপুট ফিল্ডের মধ্যে মিল রেখে যাচাই করতে ব্যবহৃত হয়।
ব্যবহার:
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" />
<asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password" />
<asp:CompareValidator
ID="cvPassword"
runat="server"
ControlToValidate="txtConfirmPassword"
ControlToCompare="txtPassword"
ErrorMessage="Passwords do not match."
ForeColor="Red" />
এখানে, cvPassword কন্ট্রোলটি txtPassword এবং txtConfirmPassword এর মান তুলনা করবে এবং যদি তারা মিলে না যায়, একটি ত্রুটি বার্তা প্রদর্শন করবে।
CustomValidator কন্ট্রোলটি ইউজারের ইনপুট যাচাই করার জন্য কাস্টম কোড ব্যবহার করতে দেয়। এর মাধ্যমে আপনি আপনার নিজস্ব যাচাই ফাংশন তৈরি করতে পারেন, যা আপনার অ্যাপ্লিকেশনের প্রয়োজন অনুযায়ী কাজ করবে।
ব্যবহার:
<asp:TextBox ID="txtPhone" runat="server" />
<asp:CustomValidator
ID="cvPhone"
runat="server"
ControlToValidate="txtPhone"
OnServerValidate="PhoneValidator"
ErrorMessage="Invalid phone number."
ForeColor="Red" />
Code-behind (C#):
protected void PhoneValidator(object source, ServerValidateEventArgs args)
{
// Custom validation logic (e.g., validate phone number format)
if (args.Value.Length == 10 && args.Value.All(char.IsDigit))
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
এখানে, PhoneValidator ফাংশনটি txtPhone ইনপুটের ফোন নম্বর যাচাই করবে এবং এটি যদি সঠিক হয় তবে ভ্যালিডেশন সফল হবে, অন্যথায় ত্রুটি বার্তা প্রদর্শন হবে।
ValidationSummary কন্ট্রোলটি সমস্ত ভ্যালিডেশন কন্ট্রোলের ত্রুটি বার্তা একত্রিত করে প্রদর্শন করে। এটি সাধারণত একটি পেজের উপরের দিকে একটি সন্নিবেশিত ত্রুটি বার্তা হিসেবে দেখানো হয়।
ব্যবহার:
<asp:ValidationSummary
ID="vsSummary"
runat="server"
ShowSummary="true"
ShowMessageBox="false"
HeaderText="Please correct the following errors:"
ForeColor="Red" />
এখানে, vsSummary কন্ট্রোলটি সমস্ত ভ্যালিডেশন কন্ট্রোলের ত্রুটি বার্তা একত্রিত করবে এবং পেজের উপর একটি সারাংশ হিসেবে প্রদর্শন করবে।
ASP.NET Web Forms এ Validation Controls ইউজারের ইনপুট যাচাই করতে অত্যন্ত কার্যকরী এবং সুরক্ষিত উপায়। এগুলি ব্যবহার করে আপনি আপনার ওয়েব অ্যাপ্লিকেশনের ডেটা ভ্যালিডেশন সহজ করতে পারবেন এবং ইউজারকে ত্রুটি বার্তা প্রদর্শন করতে পারবেন যাতে সঠিক ইনপুট সংগ্রহ করা যায়।
common.read_more